struct CallHook {
	BYTE bOriginalCode[5];
	PBYTE pPlace;
	void* pOriginal;
	void* hook;

	void initialize(DWORD place, void* hookToInstall = NULL);
	void installHook(void* hookToInstall = NULL);
	void releaseHook();
};